package jsu.xxy.coffee3.Utils;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * 类说明 :
 * 这段代码是一个工具类FileUtil，其中定义了一个静态方法FileToByte(File file)，用于将文件转为二进制数组。具体实现过程如下：
 * 通过Java中的FileInputStream类将文件file读入一个InputStream对象中；
 * 使用Java中的ByteArrayOutputStream类输出流，将InputStream中读入的数据写入这个输出流。
 * 将ByteArrayOutputStream转为byte[]数组并返回。
 */

public class FileUtil {
    public static byte[] FileToByte(File file) throws IOException {
        // 将数据转为流
        @SuppressWarnings("resource")
        InputStream content = new FileInputStream(file);
        ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
        byte[] buff = new byte[100];
        int rc = 0;
        while ((rc = content.read(buff, 0, 100)) > 0) {
            swapStream.write(buff, 0, rc);
        }
        // 获得二进制数组
        return swapStream.toByteArray();
    }
}
